#include <iostream>
#include <vector>
using namespace std;
int main() {
int n, k;
cin >> n >> k;
vector<int> v(n);
for (int i = 0; i < n; i++) {
cin >> v[i];
}
int minCount = n;
int v0;
for (int i = 1; i <= 1000; i++) {
int count = 0;
for (int j = 0; j < n; j++) {
int h = i + k * j;
if (h != v[j])
count++;
}
if (minCount > count) {
minCount = count;
v0 = i;
}
}
cout << minCount << endl;
for (int i = 0; i < n; i++) {
int h = v0 + k * i;
if (h != v[i]) {
cout << (h > v[i] ? '+' : '-') << ' ';
cout << i + 1 << ' ' << abs(h - v[i]) << endl;
}
}
return 0;
}
454A - Little Pony and Crystal Mine | 2A - Winner |
1622B - Berland Music | 1139B - Chocolates |
1371A - Magical Sticks | 1253A - Single Push |
706B - Interesting drink | 1265A - Beautiful String |
214A - System of Equations | 287A - IQ Test |
1108A - Two distinct points | 1064A - Make a triangle |
1245C - Constanze's Machine | 1005A - Tanya and Stairways |
1663F - In Every Generation | 1108B - Divisors of Two Integers |
1175A - From Hero to Zero | 1141A - Game 23 |
1401B - Ternary Sequence | 598A - Tricky Sum |
519A - A and B and Chess | 725B - Food on the Plane |
154B - Colliders | 127B - Canvas Frames |
107B - Basketball Team | 245A - System Administrator |
698A - Vacations | 1216B - Shooting |
368B - Sereja and Suffixes | 1665C - Tree Infection |